The present application relates to an automaton, more particularly, an automaton that is configured to be aware of its location in a given environment in order to perform a task.
An automaton is a self-operating device, e.g., a robot. Generally, an automaton includes a body, a motor, and a controller. The body houses the motor and the controller. The motor includes moving parts to move at least a portion of the automaton from one place to another. Some automata may be placed on a fixed position and have selected movable parts, e.g., an arm of a welding robot that is used in an automobile industry. Alternatively, the entire body or housing or the automaton is moved by the motor, e.g., R2D2 in the movie Star Wars. The controller controls the motor and other moving parts of the automaton to move the automaton according to a predetermined algorithm or commands issued by a user.
Automata have increasingly been gaining popularity among consumers and commercial users. For example, Roomba™, a self-propelled, self-navigating sweeper-vacuum cleaner, manufactured by Takara is currently in market. Another example is an automatic sweeper called “Trilobite,” Model number ECL-TR1® from Toshiba. Such automata clean rooms by a “brute force” algorithm. That is, it is propelled in a straight direction until an obstacle is encounters, whereupon it changes to another direction that is not blocked by the obstacle.
Accordingly, such an automaton moves to any open path without being aware of its position or that of objects in the room. As a result, the device may be cleaning the same area multiple times and leave certain areas not cleaned, thereby requiring more time to clean a given room and consuming more energy. It is also possible for such “dumb” devices to enter into an infinite loop, thereby wasting time and energy.